#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@file:Calculator_eval.py
@author:LifeTime
@date: 2018/04/30
@version: 
    v1.1 2018-04-30 fix bug
    v1.0 2018-04-30 create
@input: 需要就写，不需要就不写
@output:需要就写，不需要就不写

eval(expression, globals=None, locals=None)
--- 官方文档中的解释是，将字符串str当成有效的表达式来求值并返回计算结果。
globals和locals参数是可选的
    如果提供了globals参数，那么它必须是dictionary类型；
    如果提供了locals参数，那么它可以是任意的map对象。

来自：https://www.cnblogs.com/luhouxiang/p/6178898.html
"""

import os
while True:
    dynamic = input('输入计算表达式：')
    if dynamic != 'cls':
        try:
            result = eval(dynamic.lstrip().rstrip("="))
            print('计算结果：'+str(result))
        except:
            print('计算表达式输入有误！')
    else:
        command = 'cls'
        os.system(command)